The IoT is a network of physical devices, vehicles, and other items embedded with electronics, software, sensors, actuators and/or network connectivity, which enables these objects to collect and exchange data. “Things” refers to any sort of object that can product and exchange information. Common examples are home appliances, business and manufacturing equipment, wearable devices, and the like. It is expected that the number and type of things that can be connected via the IoT will increase exponentially in the next decade.
The result of this rapid expansion of IoT is a technical difficulty in managing the data produced by the things in an IoT network. Sensor data, for example, can be gathered multiple times per second on just a single device, leading to a significant amount of data to maintain and sort even for a single device, let alone the millions or billions expected to be IoT-capable in the coming years.
There are also many different types of data that are relevant in an IoT network. Sensor data is only one of these types of data, but the data could also include, for example, equipment identifications, model information, model instances, etc. Focusing indexing and searching of IoT data on individual types of data may be too limiting because users may not know the type of data they are looking for. For example, a user may be interested in obtaining a manual for a piece of equipment, and they may know the manufacturer but not the model name, and yet the manual may be stored only in a model instance identified by the model name. Searching on manufacturer data only will not find a manual because the manual is not stored in the manufacturer data, but searching on model instances alone will not find the manual because the manufacturer name is not found in the model instance data. What is needed are mechanisms allowing for indexing and searching across data types in an IoT network.